BOJ_10828_스택

명령어를 처리할 때 switch문을 사용했는데, 모든 case마다 break가 붙는다면 lambda식을 활용해서 간편하게 작성할 수 있다

하지만 위 버전은 java12부터 사용 가능하고 백준은 java11을 지원하기 때문에 기존의 switch문으로 작성하였다

package BJO;  
  
import java.util.Scanner;  
import java.util.Stack;  
  
public class BJO_10828_스택 {  
  
    public static void main(String[] args) {  
       Scanner scan = new Scanner(System.in);  
       int N = scan.nextInt();  
  
       Stack<Integer> stack = new Stack<>();  
       StringBuilder sb = new StringBuilder();  
       for (int i = 0; i < N; i++) {  
          String input = scan.next();  
  
//        switch (input) {  
//           case "push" : stack.push(scan.nextInt());  
//           case "top" : sb.append(stack.isEmpty() ? "-1" : stack.peek());  
//           case "size" : sb.append(stack.size());  
//           case "empty" : sb.append(stack.isEmpty() ? "1" : "0");  
//           case "pop" : sb.append(stack.isEmpty() ? "-1" : stack.pop());  
//        }  
  
          switch (input) {  
             case "push":  
                stack.push(scan.nextInt());  
                break;  
             case "top":  
                sb.append(stack.isEmpty() ? "-1" : stack.peek()).append('\n');  
                break;  
             case "size":  
                sb.append(stack.size()).append('\n');  
                break;  
             case "empty":  
                sb.append(stack.isEmpty() ? "1" : "0").append('\n');  
                break;  
             case "pop":  
                sb.append(stack.isEmpty() ? "-1" : stack.pop()).append('\n');  
                break;  
          }  
       }  
  
       System.out.println(sb);  
    }  
}

#stack